package org.xtremeobjects.anotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * Used to define how the label of the element is obtained. It could be used for Types, Fields, Methods and Parameters.<br>
 * <br>
 * Could be a fixed string or a dinamic one obtained by evaluating EL expressions.<br>
 * EL expressions like "#{self.name}" can provide the label for an
 * object as the property "name" of that object.<br>
 * 
 * @author jbernab
 *
 */
@Retention(value=RetentionPolicy.RUNTIME)
@Target(value={ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
public @interface Label {
	String value();
}
